local CGDecimalPlace = CGDecimalPlace or {}
CGDecimalPlace.__index = CGDecimalPlace

function CGDecimalPlace.new()
    local self = setmetatable({}, CGDecimalPlace)
    self.inputs = {}
    return self
end

function CGDecimalPlace:setInput(index, func)
    self.inputs[index] = func
end

function CGDecimalPlace:getOutput(index)
    local v1 = self.inputs[0]()
    local v2 = self.inputs[1]()
    if v1 == nil then
        return nil
    end
    if v2 == nil then
        v2 = 2
    end
    if v1 < 0 then
        return -tonumber(string.format("%." .. v2 .. "f", math.abs(v1)))
    else 
        return tonumber(string.format("%." .. v2 .. "f", v1))
    end
end

return CGDecimalPlace
